package com.pzhu.gmall.service;

/**
 * 操作redis
 *
 * @author 刘鹏 liupeng
 * @date 2019/11/6
 **/
public interface CacheService {

    /**
     * 通过 key值得到redis缓存数据
     *
     * @param key
     * @return
     */
    String getJsonStringByKey(String key);

    /**
     * 往redis 缓存中存储 对象 毫秒
     *
     * @param value
     * @param key
     */
    void setObject(String key, Object value, Long millisecond);

    /**
     * 往redis 中设置缓存，并且带上时间 单位秒
     *
     * @param key
     * @param value
     * @param second
     */
    void setObjectBySecond(String key, Object value, Long second);


    /**
     * 给对应的key值上分布式锁
     *
     * @return
     */
    Boolean lock(String key, Object object, Long secLong);

    /**
     * 解除分布式锁
     */
    void unLock(String key, Object object);


}
